package 内存结构.方法区.StringTable;
import java.util.ArrayList;
import java.util.List;

/**
 * 演示 StringTable 垃圾回收，没有被引用的会回收
 * -Xmx10m -XX:+PrintStringTableStatistics -XX:+PrintGCDetails -verbose:gc
 */
public class 垃圾回收 {
    public static void main(String[] args) throws InterruptedException {
        int i = 0;
        try {
            for (int j = 0; j < 100000; j++) { // j=100, j=10000
                String.valueOf(j).intern();
                i++;
            }
        } catch (Throwable e) {
            e.printStackTrace();
        } finally {
            System.out.println(i);
        }
/*
               Number of buckets（初始化数组 ）
               Number of entries（当前数组的个数）
               Number of literals（字符串个数）
 */
    }
}
